#include <signal.h>
#include "xc_private.h"
+
+typedef struct { int counter; } atomic_t;
+#define _atomic_read(v) ((v).counter)
+
#include <xen/trace.h>
extern FILE *stderr;
}
for ( i = 0; i<num; i++ )
- tails[i] = atomic_read(&bufs[i]->rec_idx);
+ tails[i] = _atomic_read(bufs[i]->rec_idx);
return tails;
}
while ( !interrupted )
{
for ( i = 0; ( i < num ) && !interrupted; i++ )
- while( cons[i] != atomic_read(&meta[i]->rec_idx) )
+ while( cons[i] != _atomic_read(meta[i]->rec_idx) )
{
write_rec(i, data[i] + cons[i], logfile);
cons[i] = (cons[i] + 1) % size_in_recs;
#ifndef __XEN_PUBLIC_TRACE_H__
#define __XEN_PUBLIC_TRACE_H__
-#include <asm/atomic.h>
-
/* Trace classes */
#define TRC_GEN 0x00010000 /* General trace */
#define TRC_SCHED 0x00020000 /* Xen Scheduler trace */
#ifndef __XEN_TRACE_H__
#define __XEN_TRACE_H__
-#include <public/trace.h>
-
#ifdef TRACE_BUFFER
#include <asm/page.h>
#include <asm/current.h>
#include <asm/msr.h>
#include <public/dom0_ops.h>
+#include <public/trace.h>
extern struct t_buf *t_bufs[];
extern int tb_init_done;